The present invention relates to wireless communication systems and, more particularly, relates to retrieving data encoded in the horizontal overscan portion of a video signal.
A variety of consumer products available today rely upon the use of wireless communication. Examples include cordless phones, garage door openers, remotely controlled appliances, and remotely controlled toys. A common motivation that drives manufacturers of these and similar products is minimizing the cost associated with providing the wireless communication capability. Thus, techniques for minimizing the cost of radio equipment for transmitting and receiving radio frequency signals while maintaining reliable communication are continuously explored.
Interactive toys, games, and learning products for the home could be particularly useful applications of wireless communication technology. Wireless systems eliminate the use of wire-line communication links and, therefore, are preferable for many household applications. For example, wireless toys, games, and learning products eliminate wires that small children might tangle or pull free, or that dogs might chew. Wireless products also avoid the need for universal plugs or adapters and allow a large number of wireless devices to be controlled by a single controller without requiring a large terminal port for plugging-in the controlled devices. Wireless communication links are therefore safer, more robust, more versatile, and in many cases less expensive than wire-line communication links.
Control data must be provided to the controller, which in turn transmits the control data to the controlled devices through a local wireless communication link. Although the control data may be generated locally, for example by a computer located in close proximity to the controller, it is also desirable to transmit the control data from a remote location using a broadcast-level communication link, such as an air-wave or cable television signal. In particular, it would be advantageous to broadcast the control data along with a standard video signal for driving a display device, such as a television or monitor. In this manner, the controlled devices may be caused to operate in synchronism with the programming information defined by the video signal. For example, a controlled device may operate as a character in a video program displayed on the television or monitor.
In order to effectively broadcast the control data in connection with a video signal, several often competing objectives should be attained. First, as noted above, the control data should be temporarily synchronized with the video signal so that the actions of the controlled devices operate in synchronism with the programming information displayed on the television or monitor. Second, the control data should be easily concatenated with a standard video signal for transmission in a variety of broadcast media using standard equipment. Third, the control data should not interfere with the video signal or visibly disrupt the display of the video signal. Fourth, sufficient bandwidth should be provided in the upstream communication link (e.g., a broadcast-level communication link) to fully satisfy the bandwidth requirements of the downstream communication link (e.g., local wireless communication link). In addition, it would be advantageous for additional bandwidth to be available in the upstream communication link for transmitting additional information to provide advertising, subscription, or emergency warning services, such as e-mail, foreign language subtitling, telephone pages, weather warnings, configuration data for a set-top box, and so forth.
When control data is broadcast in connection with a video signal, the control data is typically converted to a series of digital packets. A subset of the data bits in each packet is then concatenated with a single line of the video signal, which is in turn digitally transmitted to the controller. Conversion of the control data and video signal into a digital format (as opposed to the analog format often used for video signals) ensures that the control data is easily received and understood by the controlled device. However, the conversion of a video signal from an analog to a digital format introduces certain problems. During transmission or receipt of the signal, the lines comprising the video signal may shift from their original intended position. While these problems have little or no effect on the visible portion of the video signal, they severely disrupt the concatenated control data. Because the control data is transmitted as a sequential series of discrete packets, inverting or otherwise shifting the order of receipt of these packets may render the control data unusable. For example, presume that a control data element is divided into three packets, which when taken together instruct a controlled device to play a specific sound. If these three packets are received sequentially (that is, packet one, two, and then three) then the controlled device performs its task properly. However, if the packets are received in a different order (for example, two, one, and three), then the signal comes across as gibberish.
Thus, there is a need in the art for a method for receiving a control data signal in the order in which the signal was transmitted. There is a further need in the art for a means for detecting when a control data signal has been scrambled during transmission. There is a final need for a means for reordering a scrambled control data signal.
The present invention meets the needs described above by providing a method and system for retrieving and reordering control data in the horizontal overscan portion of a video signal. Because the control data is concatenated with the video signal on a line-by-line basis, the control data is temporarily synchronized with the underlying video signal. This permits the controlled devices, such as wireless mechanical characters, to behave as characters in a scene defined by the programming information of the video signal.
Generally described, the invention provides a method for retrieving and reordering control data in a video signal that includes a series of fields that each include a number of lines. The encoded data is concatenated with the lines of the video signal to create an encoded video signal, which is configured to define content data in association with each field. The content data is configured to define a first address associated with a first device, device-specific control data for the first device, a second address associated with a second device, and device-specific control data for the second device. In response to the first address, the device-specific control data for the first device is routed to the first device and the actions of the first device are controlled accordingly. Similarly, in response to the second address, the device-specific control data for the second device is routed to the second device and the actions the second device are controlled accordingly.
The video signal typically defines programming information including a scene displayed on a display device. The device-specific control data for the first device typically includes voice and motor control data that causes the first device to behave as a character in the scene displayed on the display device. The device-specific control data for the second device may be voice or motor control data that causes the second device to behave as a second character in the scene displayed on the display device, electronic mail for a transmission to a computer system, intercom information for transmission to an intercom system, telephone paging information for transmission to a paging system, or language translation information, advertising information, subscription information, or emergency warning information displayed on the display device. Many other specific applications will be apparent to those skilled in the art.
The encoded data may include signal detection words and content words. Each signal detection word and each content word may include data bits and error correction bits that are used to correct errors in the data bits. Specifically, the error correction bits may define a correction sequence that allows a single-bit error in the data bits to be detected and corrected. Each signal detection word may include four data bits and three error correction bits, and each content word may include nine data bits and seven error correction bits.
According to another aspect of the invention, an intelligent signal detection word (ISDW) may be encoded into each field of the video signal such that a consecutive series of the signal detection words defines a dynamic validation sequence. For this sequence, each intelligent signal detection word varies in at least two bits from the immediately preceding intelligent signal detection word. For example, the dynamic validation sequence transmitted in consecutive fields of a two-field interlaced field of the video signal may include the binary representation of 8, 1, 10, 3, 12, 5, 14, 7. The dynamic validation sequence of the ISDWs repeats the same pattern. Thus, the exemplary invention may scan a series of lines for the first ISDW of the dynamic validation sequence. When found, the invention may thus recognize that the line upon which the first ISDW of the dynamic validation sequence is located is also the first line containing a control data packet, and accordingly shift that line to the proper location. This allows the invention to determine when lines have been shifted during transmission, and take steps accordingly to reconstruct the control data signal in such a manner that the data is not lost and is recognizable by a controlled device.
The encoded data is defined by line signals located in the horizontal overscan portion of a video signal. Specifically, each line signal may be a pre-visible pulse located between the color burst portion and the visible raster portion of a horizontal scan line of the video signal. Each pulse may define a single bit of the encoded data, in which case the encoded data of each field of a two-field interlaced frame of the video signal may define one 7-bit signal detection word and 13 16-bit content words. To increase the bandwidth of the encoded data transmission, each line signal may include both a pre-visible pulse and a post-visible pulse located after the visible raster portion and before the horizontal blanking interval. To further increase the bandwidth of the encoded data transmission, each pulse may be modulated to define several bits.
The invention also provides an encoded video signal, which is created according to the method described above, and a system for creating and using the encoded video signal. The system includes a video data encoder that is functionally connected to a video source that provides a video signal, such as an NTSC television signal. The video data encoder receives the video signal, which includes a series of fields that each include a number of lines. The video data encoder concatenates encoded data with the lines of the video signal to create the encoded video signal.
The video data encoder is functionally connected to data decoder that receives the encoded video signal from the video data encoder. The data decoder detects the presence of the signal detection data, extracts the content data from the encoded video signal, and assembles the content data into a serial data communication signal. The video data decoder further scans each line for the presence of the first ISDW of the dynamic validation sequence. Upon finding the first ISDW in the dynamic validation sequence, the data encoder sets the position of the line containing the first ISDW to coincide with the position occupied by the first line containing a control data packet. All video line are shifted by the same amount, in order to ensure signal continuity. This may involve vertically shifting lines within a single video field, swapping the positions of entire video fields, or a combination of both.
The data decoder is functionally connected to a data error processor that receives the serial data communication signal from the data decoder. The data error processor parses the serial data communication signal into data bits and error corrections bits, analyzes the error correction bits to detect errors in the data bits, corrects detected errors in the data bits, and assembles the corrected data bits into an error corrected data stream.
That the invention improves over the drawbacks of the prior art and accomplishes these advantages will become apparent from the following detailed description of the exemplary embodiments and the appended drawings and claims.